import Vue from 'vue'
import App from './App'
import router from './router'
//导入axios 安装命令: npm install axios --save
import axios from 'axios'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

/*
  常见的配置选项
    请求地址 url: '/user'
    请求类型 method: 'get'
    请根路径 baseURL: 'http://www.mt.com/api'
    请求前的数据处理 transformRequest:[function(data){}]
    请求后的数据处理 transformResponse: [function(data){}]
    自定义的请求头 headers:{'x-Requested-With':'XMLHttpRequest'}
    URL查询对象 params:{ id: 12 }
    查询对象序列化函数 paramsSerializer: function(params){}
    request body data: { key: 'aa'}
    超时设置 timeout: 1000
    跨域是否带Token: withCredentials: false
    自定义请求处理 adapter: function(resolve, reject, config){}
    身份验证信息 auth: { uname: '', pwd: '12'}
    响应的数据格式 json / blob /document /arraybuffer / text /  stream responseType: 'json'
*/

// axios的全局配置(也可以在请求中单独定义)
axios.defaults.baseURL = 'http://123.207.32.32:8000'
axios.defaults.timeout = 5000  //超时时间(单位: 毫秒)

// 不携带参数
axios({
  url: '/home/multidata',
  method: 'GET' //请求方式,默认请求方式为Get
}).then(res => {
  console.log(res)
})

// 携带参数
axios({
  url: '/home/data',
  params: { //携带的参数信息,专门针对Get请求的参数拼接
    type: 'pop',
    page: 1
  }
}).then(res => {
  console.log(res)
})

// axios发送并发请求
axios.all([
  axios(
    {
      url: 'http://123.207.32.32:8000/home/data'
    }
  ),
  axios(
    {
      url: 'http://123.207.32.32:8000/home/data',
      params: { //携带的参数信息,专门针对Get请求的参数拼接
        type: 'pop',
        page: 1
      }
    }
  )
]).then(axios.spread((res1,res2) => {
  console.log(res1)
  console.log(res2)
}))

//针对不同模块创建axios的实例
// const instance = axios.create({
//   baseURL: 'http://123.207.32.32:8000',
//   timeout: 5000
// })

// instance({
//   url: '/home/multidata'
// }).then(res => {
//   console.log(res)
// })

// instance({
//   url: '/home/data',
//   params: {
//     type: 'pop',
//     page: 1
//   }
// }).then(res => {
//   console.log(res)
// })

import {request} from './network/request'

request({
  url: '/home/multidata'
}).then(res => {
  console.log('>', res)
}).catch(err => {
  console.log('>', err)
})
